package com.hjm.project.merchantInfo.merchantInfo.domain;

import lombok.Data;
import org.hibernate.validator.constraints.NotEmpty;

/**
 * @ClassName MerchantDto
 * @Deacription 上游返回商户信息
 * @Author Gd
 * @Version 1.0
 **/

@Data
public class MerchantDto {

        /**
         *法人有效证件种类
         */
        private String certType;

        /**
         *商户唯一标识 - 外部系统（合作伙伴端）的商户唯一标识
         */
        private String originalMid;

        /**
         * 银行预留手机号
         */
        private String settleBindTel;

        /**
         *  T+N - 0-T+0，1-T+1
         */
        private String settlTN;

        /**
         * 装机地址-省/直辖市
         */
        private String addrProvince;

        /**
         * 商户MCC  收款类的必填，支持"5966","5967","5968","5969"这几个MCC
         */
        private String mcc;

        /**
         * 商户状态 0-正常，6-停用，A-添加初审退回，2-添加终审退回， E-变更初审退回，F-变更终审退回
         */
        private String mchtStatus;

        /**
         * 申请号 - 商户申请成功时返回的申请号
         */
        private String applyId;

        /**
         * 是否开通每万元省6元  1-开通，默认不开通
         */
        private String openMall;

        /**
         * 开户支行全称
         */
        private String settleBankNm;

        /**
         * 商户联系人
         */
        private String contact;

        /**
         * 商户类型 商户类型：01-公司商户，02-个体商，03-无执照商户
         */
        private String mchtType;

        /**
         * 此字段废除-提现手续费方式 - 1-按比例，2-单笔固定金额；开通提现时必选；
         */
        private String cashFeeTp;

        /**
         * 结算账户类型  0-对公账户，1-对私账户
         */
        private String clearType;

       /**
        * 约定业务 - 0-经营类；1-收款类；2-经营收款类
        */
       private String busType;

        /**
         * 垫资日息(%)  - 正数，整数最大3位，保留3位小数；开通提现以及提现手续费方式按比例时必选；
         */
        private String cashFeeInvstIntrst;


        /**
         * 法人证件有效日期   格式：yyyyMMdd ,长期有效填“21991231”
         */
        private String certExpdate;

        /**
         * 商户名 - 有传值时校验黑名单
         */
        private String mchtNm;

        /**
         * 有关系商户数 - (收款类商户必填)0-一个，1-多个
         */
        private String openDays;

        /**
         * 审核通过时间 - 审核通过时必填，终审时间（YYYYMMDD）
         */
        private String pastime;

        /**
         * 商户号
         */
        private String mchtNo;

        /**
         * 装机地址-县/区
         */
        private String addrCounty;

        /**
         * 结算类型 - 0-T+N
         */
        private String settlTp;

        /**
         * qq结算费率（%）  保留两位小数，开通QQ扫码时必填
         */
        private String qqFee;

        /**
         * 营业执照 - 有传值时校验黑名单
         */
        private String licenceNo;

        /**
         *
         */
        private String feeType;

        /**
         * 手续费方式 - 1-比例+封顶
         */
        private String fullThreshold;

        /**
         *装机地址-市
         */
        private String addrCity;

        /**
         * 法人有效证件号码
         */
        private String certNo;

        /**
         * 商户注册地址 - 公司商户、个体商户时必填
         */
        private String compaddr;


        /**
         * 变更是否实时生效 -  1-是，其他-否
         */
        private String rateFlag;

        /**
         * 微信结算费率（%）- 保留两位小数，开通微信扫码时必填
         */
        private String wechatFee;

        /**
         * 提现服务费(元) T0时为必填
         */
        private String cashFeeAmt;

        /**
         * 借记卡-比例 - 单位%，保留2位小数 ，正数
         */
        private String dcRate;

        /**
         * 贷记卡-封顶  - 单位：元 ，至少保留2位小数，整数部分最大三位，正数或-1（-1表示不封顶），目前只可填-1
         */
        private String ccMax;

        /**
         * 扫码付业务开通：银联二维码-被扫 - 1是 0否(默认否)，费率使用借贷记卡费率
         */
        private String unionQrcodeSweptFlag;

        /**
         * 联系手机
         */
        private String commTel;

        /**
         * 借记卡-封顶- 单位：元 ，保留2位小数，整数部分最大三位，正数或-1（-1表示不封顶）
         */
        private String dcMax;

        /**
         * 分润扣率代码 - 取合作伙伴开通的费率，钱宝全部扣率说明见附录
         */
        private String speSettleTp;

        /**
         * 支付宝结算费率（%） 保留两位小数，开通支付宝扫码时必填
         */
        private String alipayFee;

        /**
         * 是否开通提现 0-否，1-是；对私账户必输；T0只能选是；(默认否)
         */
        private String cashFlag;

        /**
         * 云闪付优惠扣率 -借记卡 - 1~2位整数，保留两位小数
         */
        private String feeRateDNfc;

        /**
         *装机地址-详细地址
         */
        private String addr;

        /**
         *装机地址-详细地址
         */
        private String taxNo;

        /**
         * 终端所属机构 - 合作伙伴号,与身份标识中的合作伙伴号一致
         */
        private String brhNo;

        /**
         * 法人代表
         */
        private String manager;


        /**
         * 入账人身份证  开账户户名和法人姓名不一致时，必填
         */
        private String settleIdentifyNo;

        /**
         * 营业执照有效期  公司商户、个体商户时必填，格式：yyyyMMdd
         */
        private String licenceEndDate;

        /**
         * 贷记卡-比例  单位%，保留2位小数，正数
         */
        private String ccRate;

        /**
         * 账户号
         */
        private String settleAcctNo;

        /**
         * 开账户户名
         */
        private String settleAcctNm;

        /**
         * 商户提现方式 T0，且开通提现时对公账户可设置1：不开通，2：批次出款对私账户固定为2：单笔自动提现 提现方式：1：不开通
         */
        private String cashTp;

        /**
         * 商户的消息
         */
        private String fullMsg;

        /**
         * 商户中文简称
         */
        private String mchtCnAbbr;

        /**
         * 是否合规资料 0-是，1-否
         */
        private String compliance;

        /**
         * 支行号
         */
        private String bankBranchNo;

        /**
         * 云闪付优惠扣率 -贷记卡 1~2位整数，保留两位小数
         */
        private String feeRateCNfc;

        /**
         * 扫码付业务开通：微信支付宝-被扫  1是 0否(默认否)
         */
        private String alipaySweptFlag;

        /**
         * 是否开通外卡受理功能 0-是；1-否; 仅T1商户可开通
         */
        private String wildCard;

        /**
         * 借记卡优惠费率
         */
        @NotEmpty(message = "0.00%")
        private String emporiumPreferenceDebitFee;

        /**
         * 贷记卡优惠费率 - 开通每万元省6元时必填单位%，保留2位小数,正数
         */
        @NotEmpty(message = "0.00%")
        private String emporiumPreferenceCreditFee;

        /**
         * 借记卡优惠费率封顶值 -开通每万元省6元时必填 单位：元 ，保留2位小数，整数部分最大三位，正数或-1（-1表示不封顶）
         */
        @NotEmpty(message = "0.00%")
        private String emporiumPreferenceDebitAmt;
}
